Red Hat安装内核头文件

您所在的位置:网站首页 kernel headers在哪里 Red Hat安装内核头文件

Red Hat安装内核头文件

2024-07-12 21:35| 来源: 网络整理| 查看: 265

文章目录 前言一、The Linux kernel RPM1.1 rpm1.2 安装内核头文件1.3 安装内核头文件 - updates 总结参考资料

前言

Red Hat版本: 在这里插入图片描述

一、The Linux kernel RPM 1.1 rpm rpm - RPM Package Manager

rpm 是一个功能强大的软件包管理器,可用于build, install, query, verify, update, and erase单个软件包。 一个包由文件存档和用于安装和删除存档文件的metadata组成。 metadata包括helper scripts、 file attributes和关于包的描述信息。

RPM package 是包含其他文件及其元数据(有关系统所需文件的信息)的文件。 具体来说,RPM 包由 cpio 归档文件组成: cpio 归档文件包含: (1)Files (2)RPM header (package metadata) rpm 包管理器使用此metadata来确定依赖关系、安装文件的位置以及其他信息。

Types of RPM packages:有两种类型的 RPM 包。 两种类型共享文件,格式和工具,但有不同的内容和服务于不同的目的: Binary RPM(binary packages): 包含从源代码和补丁构建的二进制文件。 Source RPM(SRPM,source packages):SRPM 包含源代码和 SPEC 文件,该文件描述了如何将源代码构建为二进制 RPM。 可选地,源代码的补丁也包括在内。

QUERY OPTIONS The general form of an rpm query command is rpm {-q|--query} [select-options] [query-options] -a, --all Query all installed packages.

yum 是基于Red Hat的一种前端工具,yum是基于rpm命令行工具。

1.2 安装内核头文件

(1) 在这里插入图片描述 编译一个最简单的Hello world模块,编译失败: 在这里插入图片描述 在这里插入图片描述 Red Hat 头文件在/usr/src/kernels目录下,/usr/src/kernels目录下没有内核头: 在这里插入图片描述

内核头内核头文件由kernel-devel软件包提供,安装kernel-devel软件包: 在这里插入图片描述 显示:

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

不能用yum…

(2) 在该网站下载内核头: https://vault.centos.org/7.3.1611/os/x86_64/Packages/ 在这里插入图片描述

rpm -ivh *.rpm --nodeps --force -i, --info Display package information, including name, version, and description. This uses the --queryformat if one was specified. //显示包信息,包括名称、版本和描述。 -v Print verbose information - normally routine progress messages will be displayed. //打印详细信息 - 通常会显示常规进度消息。 -h, --hash Print 50 hash marks as the package archive is unpacked. Use with -v|--verbose for a nicer display. //解压缩包存档时打印 50 hash marks。 与 -v|--verbose 一起使用以获得更好的显示效果。 --nodeps Don't do a dependency check before installing or upgrading a package. //在安装或升级软件包之前不要进行依赖检查。 --force Same as using --replacepkgs, --replacefiles, and --oldpackage. --replacefiles Install the packages even if they replace files from other, already installed, packages. //安装这些包,即使它们替换了其他已安装包中的文件。 --replacepkgs Install the packages even if some of them are already installed on this system. //即使其中一些已安装在此系统上,也要安装这些软件包。 --oldpackage Allow an upgrade to replace a newer package with an older one. //允许升级以用较旧的软件包替换较新的软件包。

在这里插入图片描述 这样内核头安装完成: 在这里插入图片描述

/usr/src/kernels/3.10.0-514.el7.x86_64/include/linux //该目录下的内核头文件

在这里插入图片描述

由于我安装了三个包,在/boot/目录下也会生成该内核版本的内核镜像等等。。。 在这里插入图片描述

(3) kernel: The Linux kernel. Linux内核软件包,包含单、多核和多处理器系统的内核,是任何Linux操作系统的核心,单处理器的系统仅需安装内核包。内核处理操作系统的基本功能: 内存分配、进程分配、设备输入和输出等。

kernel-devel: Development package for building kernel modules to match the kernel. 这个包提供了足以根据内核包构建模块的 kernel headers 和makefile文件(包括了kernel-headers)。

kernel-headers:Header files for the Linux kernel for use by glibc. 包括指定 Linux 内核与用户空间库和程序之间的接口的 C 头文件。 头文件定义了构建大多数标准程序所需的结构和常量。

kernel-debug :包含许多对于内核debug诊断和调试的启用选项,只有当我们需要尝试收集额外的内核错误信息时才应该安装它。它是以牺牲性能为代价。 有一系列得debug包:

kernel-debug.x86_64 : The Linux kernel compiled with extra debugging enabled kernel-debug-devel.x86_64 : Development package for building kernel modules to match the debug kernel kernel-debuginfo.x86_64 : Debug information for package kernel kernel-debuginfo-common-x86_64.x86_64 : Kernel source files used by kernel-debuginfo packages

kernel-tools:Assortment of tools for the Linux kernel. 包含用于操纵Linux内核和支持文档的工具。

(4) 只是编写内核模块安装kernel-headers-3.10.0-514.el7.x86_64就可以:

rpm -ivh kernel-headers-3.10.0-514.el7.x86_64.rpm --nodeps --force

安装kernel-devel软件包后,就可以在/usr/src/kernels/找到所有的内核头文件,就可以编写内核模块了。

(5) 可以将yum源换位centos源,这样直接就可以通过yum来安装内核头文件了。

yum install kernel-devel yum install kernel-headers 1.3 安装内核头文件 - updates

在/updates/目录下也有一些小版本安装包: https://vault.centos.org/7.6.1810/updates/x86_64/Packages/ 在这里插入图片描述

总结

第一次用Red Hat(当然经常使用centos) ,以上就是Red Hat7.3安装内核头文件的步骤。

参考资料

https://access.redhat.com/documentation/enus/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3